From 9c01516fee7d548af58fd310d3c93dd71ea9ea28 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Mon, 25 Nov 2013 11:12:51 +0000 Subject: [PATCH] tools/libxl: Fix integer overflows in sched_sedf_domain_set() Coverity ID: 1055662 1055663 1055664 Widen from int to uint64_t before multiplcation, rather than afterwards. Signed-off-by: Andrew Cooper CC: Ian Campbell CC: Ian Jackson --- tools/libxl/libxl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 6263d14242..2b847eff88 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -4924,11 +4924,11 @@ static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid, } if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT) - period = scinfo->period * 1000000; + period = (uint64_t)scinfo->period * 1000000; if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT) - slice = scinfo->slice * 1000000; + slice = (uint64_t)scinfo->slice * 1000000; if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT) - latency = scinfo->latency * 1000000; + latency = (uint64_t)scinfo->latency * 1000000; if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT) extratime = scinfo->extratime; if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) -- 2.30.2